package com.kujie.access.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.kujie.common.excel.annotation.ExcelDictFormat;
import com.kujie.common.excel.convert.ExcelDictConvert;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * 缴费管理 vo
 *
 * @author jyy
 * @date 2025-05-26
 */
@Data
public class PayManageVo implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @ExcelIgnore
    private Long id;

    /**
     * 合同编号
     */
    @ExcelProperty(value = "合同编号")
    private String contractUuid;

    /**
     * 合同名称
     */
    @ExcelProperty(value = "合同名称")
    private String contractName;

    /**
     * 缴费金额
     */
    @ExcelProperty(value = "缴费金额（元）")
    private String paymentAmount;

    /**
     * 缴纳类型(押金、租金)
     */
    @ExcelProperty(value = "缴纳类型(押金、租金)", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "access_payment_type")
    private String paymentType;

    /**
     * 缴纳租赁期限
     */
    @ExcelProperty(value = "缴纳租赁期限")
    private String paymentLeaseTerm;

    /**
     * 缴费时间
     */
    @ExcelProperty(value = "缴费时间")
    @DateTimeFormat("yyyy/M/d")
    private LocalDateTime paymentDeadline;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;
}
